diff --git a/system/database/drivers/interbase/interbase_forge.php b/system/database/drivers/interbase/interbase_forge.php
index c7372a0..d21a555 100644
--- a/system/database/drivers/interbase/interbase_forge.php
+++ b/system/database/drivers/interbase/interbase_forge.php
@@ -79,7 +79,7 @@
 	{
 		$sql = 'CREATE TABLE ';
 
-		$sql .= $this->db->_escape_identifiers($table)."(";
+		$sql .= $this->db->_protect_identifiers($table)."(";
 		$current_field_count = 0;
 
 		foreach ($fields as $field=>$attributes)
diff --git a/system/database/drivers/interbase/interbase_result.php b/system/database/drivers/interbase/interbase_result.php
index 7a3a41f..9caf1ce 100644
--- a/system/database/drivers/interbase/interbase_result.php
+++ b/system/database/drivers/interbase/interbase_result.php
@@ -82,7 +82,7 @@
 	public function list_fields()
 	{
 		$field_names = array();
-		for ($i = 0, $num_fields=$this->num_fields(); $i < $num_fields; $i++)
+		for ($i = 0, $num_fields = $this->num_fields(); $i < $num_fields; $i++)
 		{
 			$info = ibase_field_info($this->result_id, $i);
 			$field_names[] = $info['name'];
@@ -104,7 +104,7 @@
 	{
 		
 		$retval = array();
-		for ($i = 0, $num_fields=$this->num_fields(); $i < $num_fields; $i++)
+		for ($i = 0, $num_fields = $this->num_fields(); $i < $num_fields; $i++)
 		{
 			$info = ibase_field_info($this->result_id, $i);
 		
@@ -164,10 +164,13 @@
 	 */
 	protected function _fetch_assoc()
 	{
-		//Increment row count
-		$this->num_rows++;
+		if(($row = @ibase_fetch_assoc($this->result_id, IBASE_FETCH_BLOBS)) !== FALSE)
+		{
+			//Increment row count
+			$this->num_rows++;
+		}
 	
-		return @ibase_fetch_assoc($this->result_id, IBASE_FETCH_BLOBS);
+		return $row;
 	}
 
 	// --------------------------------------------------------------------
@@ -181,10 +184,13 @@
 	 */
 	protected function _fetch_object()
 	{
-		//Increment row count
-		$this->num_rows++;
+		if(($row = @ibase_fetch_object($this->result_id, IBASE_FETCH_BLOBS)) !== FALSE)
+		{
+			//Increment row count
+			$this->num_rows++;
+		}
 		
-		return @ibase_fetch_object($this->result_id, IBASE_FETCH_BLOBS);
+		return $row;
 	}
 	
 	// --------------------------------------------------------------------
